package controllers;

import java.io.File;

import models.RepositorioUsuario;
import models.Usuario;
import play.data.Form;
import play.mvc.Controller;
import play.mvc.Http.MultipartFormData;
import play.mvc.Http.MultipartFormData.FilePart;
import play.mvc.Result;
import views.html.login;
import views.html.Usuarios.inserir;
import dao.DAOUsuario;

public class CadastroUsuario extends Controller {

	private static Form<Usuario> formUsuario = new Form<Usuario>(Usuario.class);
	private static RepositorioUsuario repUsuario = new RepositorioUsuario(
			new DAOUsuario());

	public static Result foto(String Login) {
		Usuario usuario = repUsuario.procurar(Login);
		if (usuario == null)
			return notFound("Usuario não encontrado");
		response().setContentType("image/jpeg");
		return ok(usuario.foto).as("image/jpeg");
	}

	public static Result Inserir() {
		return ok(inserir.render(formUsuario));
	}

	public static Result inserido() {
		MultipartFormData body = request().body().asMultipartFormData();
		FilePart picture = body.getFile("Foto");
		File foto = null;
		if (picture != null) {
			foto = picture.getFile();
		}
		Form<Usuario> novoUsuario = formUsuario.bindFromRequest();
		if (novoUsuario.hasErrors()) {
			return badRequest(inserir.render(novoUsuario));
		} else {
		Usuario usuario = novoUsuario.get();
		usuario.foto = foto;
		repUsuario.inserir(usuario);
		return ok("Usuario Cadastrado");
		}
	}
}
